package com.taiic.deepseek.rkllm;

public class RKLLMResultLastHiddenLayer {
    // Hidden states (flattened 2D array stored as a 1D array)
    private float[] hiddenStates;

    // Size of the embedding vector
    private int embdSize;

    // Number of tokens
    private int numTokens;

    // Constructor
    public RKLLMResultLastHiddenLayer(float[] hiddenStates, int embdSize, int numTokens) {
        this.hiddenStates = hiddenStates;
        this.embdSize = embdSize;
        this.numTokens = numTokens;
    }

    // Getters and Setters
    public float[] getHiddenStates() {
        return hiddenStates;
    }

    public void setHiddenStates(float[] hiddenStates) {
        this.hiddenStates = hiddenStates;
    }

    public int getEmbdSize() {
        return embdSize;
    }

    public void setEmbdSize(int embdSize) {
        this.embdSize = embdSize;
    }

    public int getNumTokens() {
        return numTokens;
    }

    public void setNumTokens(int numTokens) {
        this.numTokens = numTokens;
    }

    @Override
    public String toString() {
        return "RKLLMResultLastHiddenLayer{" +
                "hiddenStates=" + java.util.Arrays.toString(hiddenStates) +
                ", embdSize=" + embdSize +
                ", numTokens=" + numTokens +
                '}';
    }
}
